package cn.learn.office.excel_v2;

import org.apache.poi.ss.usermodel.Workbook;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

/**
 * 直接生成Excel表格的工具类
 *
 * @author huangyezhan
 * @version 2.0
 * @date 2020年4月21日14:46:16
 */
public class GenerateExcelUtil {

    /**
     * 生成Excel表格
     *
     * @param excelVo   表格常用参数
     * @param creatFile 生成的Excel文件放那里
     */
    public static void generateExcel(ExportExcelVo excelVo, File creatFile) {
        List<ExportExcelVo> list = new ArrayList<>();
        list.add(excelVo);
        generateExcel(list, creatFile);
    }

    /**
     * 生成Excel表格
     *
     * @param excelVos  表格常用参数
     * @param creatFile 生成的Excel文件放那里
     */
    public static void generateExcel(List<ExportExcelVo> excelVos, File creatFile) {
        Workbook     wb     = null;
        OutputStream output = null;
        try {
            //生成Excel表格需要的东西,然后输入到指定路径
            wb = ExportExcelUtil.creatExcel(excelVos);
            output = new FileOutputStream(creatFile);
            wb.write(output);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            ExportExcelUtil.close(null, output, wb);
        }
    }

}
